package top.byfree.jbyan.saber.bean.pojo

import org.ktorm.entity.Entity
import top.byfree.jbyan.saber.bean.vo.RoleVo
import java.time.LocalDateTime

/**
 * 角色实体
 *
 * @author jbyan
 * @since 20/3/2024
 */
interface Role : Entity<Role> {

    companion object : Entity.Factory<Role>()

    /* 角色Id */
    var roleId: String

    /* 角色名称 */
    var roleName: String

    /* 角色标识 */
    var roleKey: String

    /* 状态 */
    var status: Int

    /* 是否删除 */
    var isDelete: Int

    /* 创建日期 */
    var gmtCreate: LocalDateTime

    /* 修改日期 */
    var gmtModify: LocalDateTime

    /* 创建人 */
    var createBy: String

    /* 修改人 */
    var modifyBy: String


    fun toVo() = RoleVo(
        roleId,
        roleName,
        roleKey,
        status,
        gmtCreate,
        gmtModify,
        createBy,
        modifyBy
    )

}